Mobile ad-hoc networks (MANET) and wireless mesh networks (WMN) are self-organizing and self-configuring wireless networks, typically implemented with IEEE 802.11 hardware. In conventional wireless LANs, clients communicate with access points via a single-hop wireless link and access points are interconnected via a wired backbone infrastructure. MANETs and WMNs do not rely on such a wired backhaul and implement connectivity via a wireless multi-hop network. Their robustness, self-organizing and self-configuring nature, and the low cost of wide area deployment make them an attractive platform for a wide range of applications, such as public safety and emergency response communications, intelligent transportation systems, or community networks.
Routing protocols are a key component in MANETs and WMNs, providing them with their self-configuration and self-healing capabilities. These routing protocols endeavor to discover routes, traversing multiple hops, in a highly dynamic environment. These protocols can be broadly categorized into two types: reactive and proactive. In reactive routing or on-demand protocols, the routes are established only when required, generally using flooding to disseminate a Route Request packet in the network. In proactive routing protocols the routes are established before they are actually required, using periodical exchanges of connectivity information. Both types of protocols have their individual advantages. Reactive protocols focus on minimizing control packet overhead while the proactive protocols attempt to minimize the route establishment delays.
A significant problem of wireless multi-hop networks is the limited scalability and the degradation of performance with increasing path lengths, i.e. number of hops. This limitation is mainly due to co-channel interference as well as the fact that IEEE 802.11 interfaces do not support full-duplex operation, i.e. simultaneous transmission and reception of data. One approach to overcome this problem is to use multi-homed (multi-radio) nodes, with radio transceivers tuned to orthogonal channels. Multi-homed nodes have significantly increased capacity, due to reduced interference and the ability to perform full-duplex communication, which is not supported by single-radio nodes.
A number of reactive routing protocols have been proposed, which are able to effectively discover routes in multi-radio wireless networks. Some of these protocols also support the discovery of multiple paths between node pairs. The most prominent examples of reactive routing protocols are Ad-hoc On-demand Distance Vector (AODV) and Dynamic Source Routing (DSR). Reactive protocols establish a route between a source and a destination by broadcasting a Route Request packet in the network. The final destination or any other node with a valid and fresh route to the destination replies with a Route Reply packet which is sent back to the source via unicast.
In the case of AODV, intermediary nodes remember these routes by creating routing table entries when these packets are forwarded. When Route Request packets are forwarded, reverse routes are created by creating a temporary routing table entry, associating the source address of the Route Request packet with the interface it was received on. When the corresponding Route Reply packets traverse back to the source, intermediary nodes create the corresponding forward routes, consisting of a routing table entry associating the source address of the Route Reply with the interface it was received on.
DSR also uses a similar mechanism but uses source routing whereby information regarding the entire path is added to each packet at the source. This information is collected during the Route Request flooding and added in the Route Reply packet. Similar flooding-based route discovery mechanisms are used by most reactive routing protocols.
None of the existing reactive routing protocols provides a mechanism for discovering all the available links between node pairs. Only a single link between two neighbor nodes is discovered. In case a link of an established route breaks, these protocols re-establish the route from scratch or at least trigger some repair mechanism that involves partial discovery of a new route, requiring the dissemination of routing packets in the network. Similarly, if a link gets congested due to local interference or increased traffic load, existing protocols do not offer an alternative way to resolve the problem locally and in real-time.
Routing protocols used in wireless multi-hop networks perform single path or multi path routing. In the former case, a single path is created between the source and the destination, while in the latter multiple node-disjoint or link-disjoint paths are created between the source and the destination. In node disjoint paths there are no common nodes. Each path is formed using distinct nodes. In link disjoint paths, there may be a common node involved but there are no common links between any two nodes used in two different paths.
Current reactive routing protocols do not take into consideration the multi-homed nature of the nodes and thus connectivity between adjacent nodes is generally maintained via single links only. Therefore, these protocols are not able to take full advantage of the link redundancy offered by multi-homed nodes. For example, they are not able to dynamically redirect or load-balance traffic between two adjacent nodes over all the available links. The only way in which current protocols can adapt to changes in the network and link conditions is by initiating a new complete or partial route discovery process, which is time consuming and incurs a significant overhead in the network.
Reactive routing protocols used in wireless multi-hop networks establish on-demand routes between source and destination pairs across multiple hops in a potentially very dynamic environment. None of these protocols provide support for discovering multiple links between adjacent nodes. Instead, these protocols normally make use of a single link between adjacent nodes, which are a part of an existing route.
The U.S. Pat. No. 7,065,376 discusses the establishment of a multi-radio unification protocol (MUP). The MUP presents multiple physical MAC addresses as a single virtual MAC address to the higher layers. The MUP multiplexes the packets from the higher layers on the appropriate network interface. Neighbor discovery is carried out using the standard Address Resolution Protocol (ARP), which informs nodes regarding the possible MAC addresses through which an adjacent node is accessible. Nodes broadcast an ARP request, asking the node with the given IP address to reply with its MAC address. If the node with the given IP address has multiple interfaces, each interface that receives a request will send an ARP reply, which allows the recipient to learn about its multiple links to that node. However, this method requires prior knowledge of the nodes and their IP addresses that a node wants to communicate with. This is an assumption which does not hold for ad-hoc and wireless mesh networks, which are typically highly dynamic. MUP is primarily applicable to static wireless multi-hop networks.
MUP further provides the option for switching between the interfaces based upon the local channel interference. In MUP the discovery of multiple concurrent bidirectional links to an adjacent node is carried out at the MAC layer using a single instance of the ARP.
Any discussion of documents, acts, materials, devices, articles or the like which has been included in the present specification is solely for the purpose of providing a context for the present invention. It is not to be taken as an admission that any or all of these matters form part of the prior art base or were common general knowledge in the field relevant to the present invention as it existed before the priority date of each claim of this application.
Throughout this specification the word “comprise”, or variations such as “comprises” or “comprising”, will be understood to imply the inclusion of a stated element, integer or step, or group of elements, integers or steps, but not the exclusion of any other element, integer or step, or group of elements, integers or steps.